import InfoBarList from '../InfoBarList/InfoBarList';
import TimeLine from '../TimeLine/TimeLine';

export default class RainHandler {
    constructor() {
        this.chart = null;
        this.infoObj = null;
        this.timeLine = null;
        this.legendObj = {
            name: '降水量(mm)',
            arrName: ['0-5', '5-10', '10-20', '>20'],
            arrColor: ['#0049c2', '#0b98e3', '#5bfdf8', '#c7f5ff']
        };
    }

    loadData(map, isInitChart) {
        let that = this;
        minemap.util.getJSON('../data/pre.json', function (error, data) {
            const dataArr = data ? data.data.rows[0].features || [] : [];
            that.infoObj = {
                "color1": "#00C0CE",
                "color2": "#FEC819",
                "unit": "降水量（mm）",
                "array": [],
                // callback: (coordinate) => {
                //     map.flyTo({
                //         center: coordinate,
                //         zoom: 15
                //     });
                // }
            };
            dataArr.map((item) => {
                that.infoObj.array.push({
                    "name": item.properties.name_zh,
                    "value": Number(item.properties.pre).toFixed(2),
                    "coordinate": item.geometry.coordinates[Math.ceil(item.geometry.coordinates.length / 2)]
                })
            });
            if (isInitChart) {
                that.updateChart();
            }
        });
    }

    updateChart() {
        this.chart = new InfoBarList('road-weather-chart', this.infoObj || {});
    }

    // initTimeLine(map) {
    //     this.timeLine = new TimeLine('timeline-box', 8, 3000, setMapCount.bind(null, map));
    //     minemap.TRW = {
    //         stayStatic: true,
    //         change: this.timeLine.change.bind(this.timeLine)
    //     };
    // }

    // getTimeLine() {
    //     return this.timeLine;
    // }

    // showTimeLine(map) {
    //     if (this.timeLine) {
    //         this.timeLine.show();
    //     } else {
    //         this.initTimeLine(map);
    //     }
    //     $('#timeline-box').css('display', 'flex');
    // }

    // hideTimeLine() {
    //     if (this.timeLine) {
    //         this.timeLine.disappear();
    //     }
    //     $('#timeline-box').css('display', 'none');
    // }

    getInfoObj() {
        return this.infoObj;
    }

    getChart() {
        return this.chart;
    }

    getLegendObj() {
        return this.legendObj;
    }

    setValue(map, value) {
        if (value >= 0 && value <= 1) {
            map.style._layers.pre._count = 6000 * value;
        }
    }
};

// function playFunc() {
//     minemap.TRW.stayStatic = false;
// }

// function stopFunc() {
//     minemap.TRW.stayStatic = true;
// }

// function nextFunc(map) {
//     map.style._layers.pre._count += 500;
//     if (map.style._layers.pre._count > 4000) {
//         map.style._layers.pre._count -= 4000;
//     }
// }

// function previousFunc(map) {
//     map.style._layers.pre._count -= 500;
//     if (map.style._layers.pre._count < 0) {
//         map.style._layers.pre._count += 4000;
//     }
// }
